/**
 * "Visual Paradigm: DO NOT MODIFY THIS FILE!"
 * 
 * This is an automatic generated file. It will be regenerated every time 
 * you generate persistence class.
 * 
 * Modifying its content may cause the program not work, or your work may lost.
 */

/**
 * Licensee: Universidad de Almeria
 * License Type: Purchased
 */
package foroindaltronia.bd;

import org.orm.PersistentException;

/**
 * ORM-Component Class
 */
public class BD_temas_no_terminales {
        public BD_temas_no_terminales() {
        }
        
         public foroindaltronia.bd.Tema[] verTemas(Tema temaPadre)
     {
             foroindaltronia.bd.Tema[] foroIndaltroniaBDTema=null;
             try {
                 if(temaPadre == null)
                         foroIndaltroniaBDTema = foroindaltronia.bd.TemaDAO.listTemaByQuery("TNTV_TNTV IS NULL AND TNTV_TTV IS NULL AND TNTV_TNTO IS NULL AND TNTV_TTO IS NULL AND TNTO_TNTO IS NULL AND TNTO_TTO IS NULL", null);
                 else
                     foroIndaltroniaBDTema = foroindaltronia.bd.TemaDAO.listTemaByQuery("TNTV_TNTV = '"+temaPadre.getID()+"' OR TNTV_TTV = '"+temaPadre.getID()+"'"+
                    		 " OR TNTV_TNTO = '"+temaPadre.getID()+"' OR TNTV_TTO ='"+temaPadre.getID()+"' OR TNTO_TNTO ='"+temaPadre.getID()+"' OR TNTO_TTO ='"+temaPadre.getID()+"'", null);
             } catch (PersistentException e) {
                     // TODO Auto-generated catch block
                     e.printStackTrace();
             }
             return foroIndaltroniaBDTema;
     }
         
         public foroindaltronia.bd.Tema[] verTemasUsuarioNoRegistrado(Tema temaPadre)
         {
                 foroindaltronia.bd.Tema[] foroIndaltroniaBDTema=null;
                 try {
                     if(temaPadre == null)
                             foroIndaltroniaBDTema = foroindaltronia.bd.TemaDAO.listTemaByQuery("TNTV_TNTV IS NULL AND TNTV_TTV IS NULL AND (Discriminator = 'tema_no_terminal_visible' OR Discriminator = 'tema_terminal_visible')", null);
                     else
                         foroIndaltroniaBDTema = foroindaltronia.bd.TemaDAO.listTemaByQuery("TNTV_TNTV = '"+temaPadre.getID()+"' OR TNTV_TTV = '"+temaPadre.getID()+"' AND (Discriminator = 'tema_no_terminal_visible' OR Discriminator = 'tema_terminal_visible')", null);
                 } catch (PersistentException e) {
                         // TODO Auto-generated catch block
                         e.printStackTrace();
                 }
                 return foroIndaltroniaBDTema;
         }

        public Tema buscarPorNombreEID(String nombre, Tema temaPadre) {
                foroindaltronia.bd.Tema[] foroIndaltroniaBDTema=null;
        try {
                if(temaPadre == null)
                foroIndaltroniaBDTema = foroindaltronia.bd.TemaDAO.listTemaByQuery("Nombre = '"+nombre+"'", null);
                else
                        foroIndaltroniaBDTema = foroindaltronia.bd.TemaDAO.listTemaByQuery("Nombre = '"+nombre+"' AND (TNTV_TNTV = '"+temaPadre.getID()+"' OR TNTV_TNTO = '"+temaPadre.getID()+"' OR TNTO_TNTO = '"+temaPadre.getID()+"')", null);
        } catch (PersistentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        }
        if(foroIndaltroniaBDTema.length!=0)
                return foroIndaltroniaBDTema[0];
        else
                return null;
        }

        public void crearTema(Tema tema) {
        	if(tema instanceof Tema_no_terminal_visible)
                foroindaltronia.bd.Tema_no_terminal_visibleDAO.save((Tema_no_terminal_visible)tema);
        	else if(tema instanceof Tema_no_terminal_oculto)
                foroindaltronia.bd.Tema_no_terminal_ocultoDAO.save((Tema_no_terminal_oculto)tema);
        }
        
}